//package com.baselibrary.libs.Utils.netUtils.NoHttp.controlQueue;
//
//
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONObject;
//import com.qcuc.app.Utils.LogUtils;
//import com.qcuc.app.Utils.NoHttp.queue.RequestCallBack;
//import com.qcuc.app.Utils.NoHttp.queue.Request_netWork;
//import com.qcuc.app.Utils.NoHttp.queue.Request_netWork_error;
//import com.qcuc.app.Utils.NoHttp.queue.TaskExecutor;
//import com.qcuc.app.Utils.NoHttp.queue.YolandaLinkedQueue;
//import com.qcuc.app.util.AES;
//import com.qcuc.app.util.Constants;
//import com.qcuc.app.util.Utils;
//
//import java.util.Hashtable;
//
//
///**
// * Created by Administrator 于萌萌
// * 创建日期: 17:44 . 2016年12月28日
// * 描述:网络请求
// * <p>
// * <p>
// * 备注:
// */
//
//public class NetWork extends YolandaLinkedQueue<Request_netWork,Request_netWork_error,Void,Request_netWork> {
//    static NetWork sControlQueue;
//
//    public int mode =1;
//
//    public NetWork(int poolSize) {
//        super(poolSize);
//    }
//    //子线程
//    @Override
//    public void getData(Request_netWork request, TaskExecutor<Request_netWork, Request_netWork_error, Void, Request_netWork> requestParamUpdateResultTaskExecutor, YolandaLinkedQueue<Request_netWork, Request_netWork_error, Void, Request_netWork> queue) {
//        JSONObject mJsonObject;
//        String mAesString;
//        String mResult;
//
//
//        Hashtable<String, String> hashtable = request.getHashtable();
//        String url = request.getUrl();
//        try {
//
//            JSONObject msgObject = new JSONObject();
//
//            String para ="";
//            if (mode == 1) {
//                msgObject.putAll(hashtable);
//                // 上传的参数
//                 para = "para=" + AES.encrypt(Constants.key, Constants.iv, msgObject.toString());
//                // System.out.println(msgObject.toString());
//                LogUtils.i("加密之后网络字符串"+para);
//            }else{
//                para = msgObject.toString();
//                LogUtils.i("加密之后网络字符串"+msgObject.toString());
//            }
//               // mAesString = Net.startNet(url, para);
//                // 返回的加密串url
//                mAesString = Utils.postUrlData(url, para);
//                LogUtils.i("网络数据返回来的加密网络字符串"+ mAesString);
//            String decrypt = "";
//            if (mode ==1){
//                //解谜之后
//                 decrypt = AES.decrypt(Constants.key, Constants.iv, mAesString);
//                LogUtils.i("正常解密原始网络数据"+decrypt);
//            }  else{
//                decrypt = mAesString;
//            }
//            //容易出错的地方
//            mJsonObject = JSON.parseObject(decrypt);
//            LogUtils.i("json格式化之后的数据"+mJsonObject);
//            //LogUtils.showLogCompletion("返回来的长内容是"+mJsonObject,255);
//            Integer result = mJsonObject.getInteger("result");
//            //如果 数据对了 就返回所有数据回去  如果 数据不对 就返回错误信息
//            if (result ==1){
//
//                LogUtils.i("结果码"+ result);
//                request.setJSONObject(mJsonObject);
//                queue.onResult(request);
//            }else{
//                LogUtils.i("结果码"+ result);
//                LogUtils.i("结果内容是"+ mJsonObject.getString("message"));
//
//                Request_netWork_error error = new Request_netWork_error();
//                error.setTag(request.getTag());
//                error.setMsg(mJsonObject.getString("message"));
//                queue.onParam(error);
//            }
//
//
//        } catch (Exception e) {
//            Request_netWork_error error = new Request_netWork_error();
//            error.setTag(request.getTag());
//            error.setMsg("转换错误失败");
//            queue.onParam(error);
//            e.printStackTrace();
//        }
//
//    }
//
//    @Override
//    public void getResult(Request_netWork t) {
//        if (null==t){
//            return;
//        }
//        mCallBack.onSuccess(t);
//    }
//
//    @Override
//    public void getUpData(Void aVoid) {
//
//    }
//
//    @Override
//    public void getParam(Request_netWork_error s) {
//        if (null==s){
//            return;
//        }
//        mCallBack.onError(s);
//    }
//
//
//
//    RequestCallBack mCallBack;
//
//    public static NetWork getControlQueue(int poolSize){
//
//        if (sControlQueue==null){
//            sControlQueue = new NetWork(poolSize);
//            sControlQueue.start();
//            return sControlQueue;
//        }
//         return sControlQueue;
//        }
//
//    public static NetWork get(){
//        return sControlQueue;
//    }
//
//    public void setCallBack(RequestCallBack mCallBack){
//        this.mCallBack= mCallBack;
//    }
//
//
//
//
//
//}
//
//
//
//
